import wx
import sys
from Nodo import Nodo
from Repositorio import Armazenar



class PanelListar(wx.Panel):
    def _init_ctrls(self, prnt, numero, dado):
       
        wx.Panel.__init__(self, id=-1, name='', parent=prnt, size=wx.Size(411, 213),
              style=wx.TAB_TRAVERSAL)
        self.SetClientSize(wx.Size(420, 320))
        self.parent = prnt
        self.numero = numero
        self.dado = dado
        self.list = wx.ListCtrl(self, -1, size=wx.Size(583, 155), style=wx.LC_REPORT)
        self.list.InsertColumn(0, 'Numero', width=120)
        self.list.InsertColumn(1, 'Cliente', width=120)
        self.list.InsertColumn(2, 'Estabelecimento', width=120)
        self.list.InsertColumn(3, 'Data', width=120)
        self.list.InsertColumn(4, 'Valor', 60)
        
        
        self.botaoListar = wx.Button(id=11, label='Listar',
              name='button1', parent=self, pos=wx.Point(300, 165),
              size=wx.Size(75, 23), style=0)
        
        self.Bind(wx.EVT_BUTTON, self.listar, id=11)

    def listar(self, event):
        rep = Armazenar()
        if self.dado == 'cartao':
            lista = rep.getCompras(self.numero)
        elif self.dado == 'estabelecimento':
            lista = rep.getComprasE(self.numero)
            
        for p in lista:
            
            index = self.list.InsertStringItem(sys.maxint, p.numero)
            self.list.SetStringItem(index, 1, p.nome)
            self.list.SetStringItem(index, 2, p.nomeE)
            self.list.SetStringItem(index, 3, p.data)
            self.list.SetStringItem(index, 4, p.valor)
            
        

    def __init__(self, parent, numero, dado):       
        self._init_ctrls(parent, numero, dado)
